
const accountInfo = wx.getAccountInfoSync();
var  BASE_URL = '';
console.log(accountInfo,'accountInfo')
switch (accountInfo.miniProgram.envVersion) {
  case 'develop':
    // 开发版
    BASE_URL = 'http://222.70.12.141:8099';
    break;
  case 'trial':
    // 体验版
    BASE_URL = 'http://222.70.12.141:8099';
    break;
  case 'release':
    // 生产版
    BASE_URL = 'https://srm.sfeg.cc';
    break;
  default:
    // 默认情况或未知情况
    BASE_URL = 'http://default.example.com';
    break;
}


// 封装 POST 请求函数
export function post(url, data = {}) {
    return new Promise((resolve, reject) => {
        // 先执行更新参数的请求
        updateParam().then(() => {
			console.log(BASE_URL,'BASE_URL')
            // 更新参数成功后再发起原本的请求
            uni.request({
                url: BASE_URL + url,
                method: 'POST',
                data: data,
                header: {
                    'content-type': 'application/json', // 根据实际情况设置请求头
                },
                success: res => {
                    handleResponse(res, resolve, reject);
                },
                fail: err => {
                    reject(err);
                }
            });
        }).catch(error => {
            reject(error); // 更新参数失败，则直接 reject
        });
    });
}

export function postimg(url, data = {}) {
    return new Promise((resolve, reject) => {
        // 先执行更新参数的请求
        updateParam().then(() => {
            // 更新参数成功后再发起原本的请求
            uni.request({
                url: BASE_URL + url,
                method: 'POST',
                data: data,
                header: {
               	'content-type': 'application/x-www-form-urlencoded', // 根据实际情况设置请求头
                },
                success: res => {
                    handleResponse(res, resolve, reject);
                },
                fail: err => {
                    reject(err);
                }
            });
        }).catch(error => {
            reject(error); // 更新参数失败，则直接 reject
        });
    });
}


// 封装 GET 请求函数
// 封装 GET 请求函数
export function get(url, params = {}) {
    return new Promise((resolve, reject) => {
        // 先执行更新参数的请求
        updateParam().then(() => {
            // 更新参数成功后再发起原本的请求
        
            uni.request({
                url: BASE_URL + url,
                method: 'GET',
                data: params,
                success: res => {
                    handleResponse(res, resolve, reject);
                },
                fail: err => {
                    reject(err);
                }
            });
        }).catch(error => {
            reject(error); // 更新参数失败，则直接 reject
        });
    });
}
// 更新参数的请求函数
function updateParam() {
    return new Promise((resolve, reject) => {
        // 发起更新参数的请求
		console.log('555555555555555555请求前的事情了');
		
		let sid=uni.getStorageSync('SID');
		if(sid==undefined){
			sid='';
		}
        uni.request({
            url: BASE_URL + '/portal/r/w?cmd=com.apps.sfeg.srm.refreshSession&sid='+sid, // 假设更新参数的接口为 updateParam
            method: 'GET', // 假设为 GET 请求
		
            success: res => {
                // 更新成功，resolve
				console.log(res.data.data.SID,'res');
				uni.setStorageSync('SID',res.data.data.SID);
                resolve(res.data);
            },
            fail: err => {
                // 更新失败，reject
                reject(err);
            }
        });
    });
}

// 处理响应结果
function handleResponse(res, resolve, reject) {

	// if (requestUrl.includes('cmd=com.apps.sfeg.srm.login')) {
	// 	resolve(res.data); // 在这里直接返回登录请求的响应
	// 	return;
	// }
		resolve(res.data);
	
}
export {
	BASE_URL
};